package letcode.oneQuestionPerDay._202003._20200319;
/*
最长回文串
 */
public class LongestPalindrome {
    public static void main(String[] args) {
        String str="abccccdd";
        System.out.println(longestPalindrome(str));
    }
    //提供方法
    public static int longestPalindrome(String s) {
        //贪心算法，每个都取偶数个，只取一个计数。
        int[] count=new int[128];
        for (char ch:s.toCharArray()
             ) {
            count[ch]++;
        }
        //取每个的偶数
        int total=0;
        for (int i:count
             ) {
            total+=i/2*2;
            if (i%2==1&&total%2==0)
                total++;
        }
        return total;
    }

}
/*
409. 最长回文串
给定一个包含大写字母和小写字母的字符串，找到通过这些字母构造成的最长的回文串。

在构造过程中，请注意区分大小写。比如 "Aa" 不能当做一个回文字符串。

注意:
假设字符串的长度不会超过 1010。

示例 1:

输入:
"abccccdd"

输出:
7

解释:
我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。
 */